//
//  JXLStatus.swift
//  MicroBlog
//
//  Created by 贾晓磊 on 16/9/24.
//  Copyright © 2016年 贾晓磊. All rights reserved.
//

import UIKit

//微博首页数据模型
class JXLStatus: NSObject {

    //  发微博时间
    var created_at: String?
    //  微博id
    var id: Int64 = 0
    //  微博内容
    var text: String?
    //  微博来源
    var source: String?
    //  用户模型
    var user: JXLUser?
    //  转发数
    var reposts_count: Int = 0
    //  评论数
    var comments_count: Int = 0
    //  赞
    var attitudes_count: Int = 0
    //  转发微博
    var retweeted_status: JXLStatus?
    //  微博配图模型数组
    var pic_urls: [JXLStatusPictureInfo]?
  
    //swift 写法，指定集合元素类型
    class func modelContainerPropertyGenericClass() -> ([String: Any]) {
        return ["pic_urls": JXLStatusPictureInfo.self]
    }
    //    + (NSDictionary *)modelContainerPropertyGenericClass {
    //    // value should be Class or Class name.
    //    return @{@"shadows" : [Shadow class],
    //    @"borders" : Border.class,
    //    @"attachments" : @"Attachment" };
    //    }

    
//    // MARK: kvc构造函数
//    init(dict:[String: Any]) {
//        super.init()
//    setValuesForKeys(dict)
//    }
//    
//    
//    //重写setValueForkey方法，处理user属性
//    override func setValue(_ value: Any?, forKey key: String) {
//        if key == "user" {
//            
//            guard let dict = value as? [String: Any] else {
//                print("错误的字典格式")
//                return
//            }
//            
//            //  自己通过kvc构造函数完成字典转模型
//            user = JXLUser(dict: dict)
//
//            
//            
//        } else {
//            super.setValue(value, forKey: key)
//        }
//    }
//    
//    //防止kvc字段不匹配崩溃
//    override func setValue(_ value: Any?, forUndefinedKey key: String) {
//        //print("不存在的\(key)")
//    }
}
